package com.ruoyi.zhgd.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户隶属机构业务对象 sys_user_dept
 *
 * @author zyb
 * @date 2023-09-13
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class SysUserDeptBo extends BaseEntity {

    /**
     * id
     */
    @NotNull(message = "id不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 用户id
     */
    @NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long userId;

    /**
     * 部门pkid
     */
    @NotBlank(message = "部门pkid不能为空", groups = { AddGroup.class, EditGroup.class })
    private String deptPkid;

    /**
     * 部门code
     */
    @NotBlank(message = "部门code不能为空", groups = { AddGroup.class, EditGroup.class })
    private String deptId;

    /**
     * 单位id
     */
    @NotBlank(message = "单位id不能为空", groups = { AddGroup.class, EditGroup.class })
    private String companyId;

    /**
     * 单位pkid
     */
    @NotBlank(message = "单位pkid不能为空", groups = { AddGroup.class, EditGroup.class })
    private String companyPkid;

    /**
     * 是否是主要任职单位
     */
    @NotNull(message = "是否是主要任职单位不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer hasMain;

    /**
     * 排序
     */
    @NotNull(message = "排序不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long orderId;

    /**
     * 创建者
     */
    @NotNull(message = "创建者不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long creator;

    /**
     * 创建时间
     */
    @NotNull(message = "创建时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date createDate;

    /**
     * 更新者
     */
    @NotNull(message = "更新者不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long updater;

    /**
     * 更新时间
     */
    @NotNull(message = "更新时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date updateDate;


}
